home *** CD-ROM | disk | FTP | other *** search
- Amiga Image ViewEr
- version 1.5
- Mars 1994
-
-
- Rôle : Afficher des images en 256 couleurs sur un Amiga de base .
- ------
-
- Copyright :
- -----------
- AIVE est (c) 1994 Laurent Vivier . Il ne peut être vendu dans un but
- commercial sans mon autorisation écrite . Tout distribution ne peut exiger
- plus de 15FF de frais . Plus généralement, je n'autorise personne à
- distribuer ce logiciel dans un but lucratif sans mon autorisation écrite .
- Ce logiciel ne peut être distribué séparé de ses documentations . Les
- fichiers "AIVE","AIVE.docF","AIVE.docE" ne peuvent donc être séparés .
-
- Je pense qu'on peut classer ce logiciel parmi les "Freeware", je ne
- demande donc rien en échange, sinon que les personnes susceptibles de le
- faire progresser me fasse parvenir leurs informations (nouveaux formats,
- nouveaux algorithmes, documents techniques concernant l'Amiga) .
-
- Avertissement :
- ---------------
-
- Je décline toute responsabilité quant à l'utilisation de ce logiciel .
- Toute utilisation se fait à vos risques et périls .
-
- Contact :
- ---------
-
- Adresse postale :
-
- Laurent Vivier
- Avenue Général De Gaulle
- 38380 Saint Laurent du Pont
- FRANCE
-
- Adresse électronique :
- Laurent.Vivier@ufrima.imag.fr (jusqu'à juin 1994)
- vivier@isis.imag.fr (idem)
-
- Formats Supportés : GIF87a,GIF89a (entrelacé ou non), IFF .
- -------------------
-
- The Graphic Interchange Format(c) is the Copyright property of
- CompuServe Incorporated. GIF(sm) is a Service Mark property of
- CompuServe Incorporated.
-
- Utilisation :
- -------------
-
- L'utilisation de AIVE se fait uniquement à partir du CLI (ou Shell) .
- Le nom du fichier ainsi que les options d'affichage se font par passage
- des paramètres .
-
- Paramètres supportés :
- ----------------------
-
- Les paramètres supportés sont affichés si on lance AIVE sans paramètres !
- Tous les paramètres doivent être saisis en minuscule .
-
- AIVE name [hire|lore|ehb][nolace][grey][scale]
- [width w][heighth][ratio a/b][color #colors]
-
- HIRE,LORE,EHB : spécifie le mode graphique à utiliser
- HIRE : haute résolution
- LORE : basse résolution
- EHB : Extra-Half-Bright
- Le mode d'affichage par défaut est HAM .
-
- NOLACE : par défaut l'affichage se fait en mode entrelacé, cette option
- l'inhibe .
-
- GREY : affiche l'image en niveau de gris (16 couleurs, HIRE)
-
- COLOR n : permet d'indiquer le nombre de couleurs a utiliser (>= 8,
- par défaut le maximum) . Conjugué avec GREY, indique le nombre
- de niveaux de gris .
-
- SCALE : l'image est automatiquement réduite pour rentrer entièrement dans
- l'écran
-
- WIDTH w : spécifie la largeur maximale de l'image
-
- HEIGHT h : spécifie la hauteur maximale de l'image
-
- RATIO a/b : rapport de déformation de l'écran .
- Soit x et y, respectivement la largeur et la hauteur d'un
- point élémentaire de l'écran, alors : y = x * (a/b)
- par défaut : a/b = 1/2 en LORE (HAM,EHB)
- = 1/1 en LORE et NOLACE
- = 1/1 en HIRE
- = 2/1 en HIRE et NOLACE
- Je suis bien conscient que ces coefficients ne sont pas
- réalistes . Mais ceux-ci pouvant varier d'un écran à l'autre
- en fonction des réglages, de la fréquence (NTSC/PAL),
- d'une image à l'autre, toute autre valeur ne pourrait être
- que spécifique à MON écran . Alors, à vous de faire le boulot
- ( une méthode consiste à dessiner un rectangle a l'écran, même
- nombre de points hauteur/largeur, de prendre un décimètre
- pour mesurer ses côtes sur l'écran, et de faire le rapport)
-
- Interface :
- -----------
-
- Après lancement, une fenêtre s'ouvre . On y trouve le nom de l'image en
- cours de chargement, son type (GIF87a, GIF89a, IFF ...), ses dimensions,
- ainsi qu'une barre reflétant la progression du décodage . Un bouton "Stop"
- permet d'arrèter la lecture, et de quitter le programme . Le recourci
- clavier est la touche "ESC", elle n'est active seulement si la fenêtre est
- sélectionnée (et non si l'image est sélectionnée !) .
-
- A noter : Sous OS2.0, il est possible d'afficher des images plus grandes
- que l'écran; rien de spéciale n'a été fait pour les parcourir, la seule
- solution existante est celle donnée par le système, c'est-à-dire presser
- la touche Amiga Gauche en même temps que le bouton gauche de la souris,
- et déplacer la souris pour déplacer l'image .
- Sous OS1.3, ce problème ne se rencontre pas : il est impossible d'ouvrir
- un écran plus grand, l'image est mise à l'échelle dans une taille standard
- (PAL ou NTSC) .
-
-
- Techniques Utilisées :
- ----------------------
-
- Toutes les images subissent un dithering de type Floyd-Steinberg, qui
- consiste en une propagation de l'erreur aux points voisins . Il est
- bidirectionnel dans tous les cas .
-
- L'affichage en niveau de gris, qui je pense est ce que l'on peut faire
- de mieux sur un Amiga avec le chip set de base, utilise les coefficients de
- luminosité de la Commision Internationale de l'Eclairage (CIE), c'est-à-dire
- que chaque composante est pondérée par une valeur proche de la sensibilite de
- l'oeil, lors du calcul de la moyenne donnant l'intensité du niveau de gris .
-
- La recherche de la couleur la plus proche se fait en se projetant dans
- l'espace tridimensionel raporté aux composantes . Cela reviens à calculer
- la distance la plus courte dans cet espace . Cet espace est dilaté par les
- coefficients cités précédemment .
-
- L'extraction de la palette de couleurs se fait gràce à une méthode
- personnelle qui consiste à agglomérer les couleurs en ilots de proximité dans
- l'espace . On découpe l'espace en un nombre de sous-espaces, ce nombre est
- le nombre de couleurs désirées . La valeur de la couleur associée au
- sous-espace est le barycentre des couleurs de la palette d'origine contenu
- dans ce sous-espace .
-
- L'affichage a été accéléré par rapport à la version 1.0 en stockant les
- calculs au fur et à mesure de l'affichage (utilise une vingtaine de Ko en
- plus)
-
- La mise à l'échelle se fait gràce à une routine en assembleur n'utilisant
- aucun nombre en virgule flottante . La technique employée peut s'apparenter
- aux techniques utilisées pour faire de l'anti-aliasing .
-
- Evolutions possibles :
- ----------------------
-
- - Lancement à partir du workbench .
- - gamma correction (est-ce utile ?)
- - implantation d'une option d'impression (utilisant toute la résolution
- de l'imprimante) .
- - implantation d'une option de sauvegarde .
- - ajout des format PCX, BMP (très probable), JPEG (peu probable, à cause
- de l'obligation de parcourir l'image pour extraire la palette)
- - complétion de l'interface homme-machine sous intuition
-
- Compatibilité :
- ---------------
- Ce soft a commencé à être développer sous Kickstart 1.2, Workbench 1.3 .
- Lors de sa diffusion, son développement se faisait sous 2.0, il devrait donc
- fonctionner sous tous les systèmes . Il a été rapidement testé sous 2.0 avec
- émulateur kickstart 1.3, à première vue il ne parait pas y avoir de
- problèmes .
-
- Il se peut qu'il y ait des problèmes sur des machines comportant des
- cartes graphiques : je n'utilise pas la fonction WritePixel de la
- graphics.lib pour écrire à l'écran, mais écris directement en mémoire, dans
- un but de rapidité .
-
- Toutes l'activité de test s'est faite sur mon A500 :
- carte mère rev 5a, OS2.0, 2 drives DDDS, 512 FAST, 512 CHIP .
-
- Remerciements :
- ---------------
-
- Frédéric Elisei Archimediste génial, qui a fourni de l'eau a mon moulin
- Franck Lyonnet idem
- Voyez leurs viewers JPEG sur Acorn Archimede 5000,
- qui tourne plus vite que n'importe quels viewers GIF
- sur Amiga (500 !) .
- Roger Wilson pour un article sur son soft ChangeFSI
- Steven A. Bennet auteur d'un décodeur GIF dont je me suis inspiré
- Cindy Crowford pour sa plastique superbe (motivante !)
-
- UFR Informatique qui m'a permis de découvrir le réseau internet, et donc
- et mathématiques l'accès a un nombre important d'informations
- appliquées de (Merci aux administrateurs système)
- Grenoble Venez étudier à Grenoble
-
- Historique :
- ------------
- Janvier 1994 version 1.0 première distribution
- Janvier 1994 version 1.2 correction de 2 lègers bugs :
- - plantage sur des images de largeur impaire
- - légère correction du dithering pour éviter
- un effet de saturation .
- Mars 1994 version 1.5 correction d'autres bugs :
- - impossibilité d'afficher en grey avec low
- resolution .
- - impossibilité de faire un dégradé de gris
- avec moins de 16 niveaux .
- Evolution :
- - Accélération du dithering (un gain de 2 ou 3)
- - mise en place des routines de changement
- de taille de l'image
-
- Auteur : Laurent Vivier
- --------
-